易控制还能解释?这个新型图像标注算法必须了解一下!
前言
现有的图像标注方法是用一种“黑盒”的架构来生成描述图像的文字,既不能从外部控制其结果,也不能解释其过程。这篇论文提出了一种新颖的框架来生成可控制可解释的图像标注,使得图像标注算法能够应用到复杂的情景中。
图像标注=看图说话
图像标注(Image Caption)就是给图像自动生成一段描述性文字,类似于我们小时候做过的“看图说话”作业,十分有趣。对于人来说,图像标注是一件简单而自然的任务,但对于机器来说,这项任务充满挑战。难点在于,机器不仅要检测出图像中的物体,而且要理解物体之间的相互关系,最后还要用合理的语言表达出来。
图像标注问题本质上是从视觉到语言(Visual-to-Language,V2L)的问题。我们希望算法能够根据图像给出描述图像内容的自然语言语句,这意味着,算法需要在两种不同形式的信息(图像信息和文本信息)之间进行“翻译”。图像标注问题的研究,促使人工智能领域的两大子领域——计算机视觉和自然语言处理很好地结合起来,这种跨子领域的结合能够催生出更让人惊艳的方法。
图像标注问题如果能够得到很好的解决,其价值是显而易见的。它的应用前景广泛,例如可以应用到图像检索、儿童教育、视力受损人士的生活辅助等方面。
图像标注问题受到广泛关注
随着深度学习技术的发展和MS COCO等图像标注数据集的出现,图像标注的相关技术得到了快速的发展。
2014年10月,百度研究院的Junhua Mao和Wei Xu等人创造性地将深度卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN)结合起来,用于解决图像标注问题。这种将CNN和RNN结合起来的方法在图像标注问题上取得了显著的进步。这种方法的成功,使得基于该方法的图像标注研究迅速火热起来。
论文题目:
《Explain Images with Multimodal Recurrent Neural Networks》
论文地址:
https://arxiv.org/abs/1410.1090
学者们纷纷对该方法的模型各部分进行更多的尝试与优化,从不同的角度对模型做改进,图像标注的相关技术得到了快速的发展。
在这个发展中,将RNN和CNN结合的核心思路没有变,变化的是使用更复杂的CNN模型和效果更好的LSTM模型,获取高层语义信息来得到更好的图像特征,引入注意力方法来加强对图像有效区域的利用等。强化学习、GAN等模型也为图像标注效果带来提升。各种评价标准也得到改进和扩展。
这篇论文所提出的方法同样基于CNN和RNN结合的结构,前者用于图像编码,后者用于语言建模,通过学习图像和每个时间步生成的词的概率分布之间的关系,来训练图像标注模型。
一种可控可解释的图像标注方法
图像标注领域取得很大进展,然而现有的方法仍缺乏可控性和可解释性,既不能从外部控制其结果,也不能解释其过程。这种缺陷使得现有方法与人类水平仍有很大差距。在实际应用情景中,我们需要能够根据目标和上下文,用多种不同的方式来描述同一张图像。
举个例子,一个基于图像标注的辅助驾驶系统,在检测到危险情况时,应该聚焦于描述路面上的危险物体,而不是描述路边的树木和建筑。而且,这样的系统应该具有可解释性,这样司机才能判断警报信息的价值,做出正确决策。
名词串示意图
这篇论文提出的方法就是为了解决上述缺陷,具有可控制性和可解释性。它能根据控制信号生成不同的图像标注,并给出解释。控制信号是一组给定的、需要被描述的图像区域,这样按照不同的顺序,关注不同的区域,就能生成不同的标注信息。同时,将生成的标注句子解构为多个名词串,在图像区域和名词串之间建立联系,这样标注信息就具有可解释性。
名词串:句子具有自然语言结构,本质上是有层次的。在最低层次中,句子可以认为是由单词组成的序列,包括可视词语和文本词语,前者是能够在图像中可视化呈现的事物(如名词),后者是不能在图像中呈现的修饰词(如冠词、介词)。进一步分析它们的语法依赖关系,我们可以将名词和它们的修饰词组合成名词串。如上图所示,不同颜色块代表不同的名词串。
将现有方法与这篇论文提出的方法进行比较,如下图所示,a)、b)为普通的图像标注方法,c)为这篇论文提出的可控制可解释的图像标注方法。普通的图像标注方法只能根据“黑盒”结构自动生成一种标注结果。而这篇论文提出的方法能够根据输入的区域信息,生成多种标注结果(图中展示了两种),并且将文字和对应区域建立联系(图中用相同颜色标识),具有可解释性。
普通方法和论文方法的比较
这篇论文提出的方法,在Flickr30k数据集和MS COCO数据集上取得当前最佳的表现,在标注的多样性和质量方面远超其它方法,能够应用到复杂的情景中。
结合CNN和RNN的网络结构
这种可控制可解释的图像标注方法网络结构如下图所示,它由两部分组成:图像编码模型(CNN 结构)和语言模型(RNN 结构)。输入一张图片和一组图像区域,经过图像编码模型和语言模型,输出生成的标注句子,句子中的名词串与图像区域对应,语言通顺流畅。
结合CNN和RNN的神经网络结构图
对于图像编码模型,作者使用深度卷积神经网络——基于ResNet-101的Faster R-CNN网络,来自动生成一组区域。然后将无序的区域输入排序网络(Sorting Network)中进行自动排序,得到区域序列,并用各个区域在Faster R-CNN中的嵌入表示(embedding)作为该区域的描述子。
对于语言模型,作者使用效果更好的LSTM模型,在每个时间步堆叠两个LSTM层:注意力LSTM(Attention LSTM)和语言LSTM(Language LSTM)。前者的输入是当前词语、图像描述子、第二层的隐含状态;输出是预测的上下文向量。后者的输入是上下文向量和第一层的隐含状态;输出是预测的下一个词语。
语言模型中还有两个特别的模块:串移动门模块和自适应注意力模块,这是作者使用的两个技巧,前者用于标记当前使用的图像区域,后者用于标记是否使用图像特征。有了这两个标记,就能将生成的名词串与图像区域建立联系。
串移动门(Chunk-Shifting Gate)模块用于预测名词串是否结束,取值为0或1。每个时间步都会输出一个串移动值,当取值为1时,表示名词串结束。由于名词串与图像区域是一对一或者一对多的关系,名词串的数量小于等于图像区域的数量。当取值由0变为1时,选择下一个图像区域。在上图中,我们可以看到,在每个名词串结束的地方,串移动值为1(图中红色字体)。
自适应注意力(Adaptive Attention)模块使用了何时利用何种特征的概念。由于有些描述单词可能并不直接和图像相关,而是可以从当前生成的描述中推测出来,所以当前单词的生成可能依赖图像,也可能仅依赖于语言模型。基于以上思想,作者提出了“视觉哨兵”的概念,能够以自适应的方法决定当前生成单词,是利用图像特征还是仅利用文本特征。在上图中,我们可以看到,语言模型的输入,虚线表示不使用图像特征,实线表示使用图像特征。
训练模型的目标函数,由两个输出分布的交叉熵损失组成:词级的概率分布和串级的概率分布。如下图所示,该目标函数需考虑,在当前时间步之前输出的词和使用的图像区域,以及当前时间步下输出的词和串移动值(包括真实值和预测值)。
该目标函数是一个可求导的损失函数,因此可以利用反向传播来求梯度,然后利用随机梯度下降来学习到最优的参数。使用交叉熵损失进行预训练后,作者进一步使用强化学习来优化生成的词序列的质量和顺序。
MS COCO数据集上的效果图
作者用Flickr30k数据集和MS COCO数据集对上述网络结构进行训练,生成可控制可解释的图像标注模型,该模型在多个评价标准中取得当前最佳的表现,生成的标注质量好,多样性丰富,能够应用到复杂的情景中。
推荐阅读
推荐课程
作者:王佳纯
编辑:Yiri
原文:http://arxiv.org/abs/1811.10652
关注集智AI学园公众号
获取更多更有趣的AI教程吧!
搜索微信公众号:swarmAI
集智AI学园QQ群:426390994
学园网站:campus.swarma.org
商务合作和投稿转载|swarma@swarma.org